package cn.fl.capital.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.capital.dto.CapTaskAccepterReportListDTO;
import cn.fl.capital.vo.CapTaskAccepterReportListVO;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by jiangzhongge on 2017-5-25.
 * Time 17:00.
 * Class belongs to financelease.
 */
public class CapTaskAccepterReportListVOTransform {

    /**
     * VO 转  DTO
     * @param vo CapTaskAccepterReportListVO
     * @return CapTaskAccepterReportListDTO
     */
    public static CapTaskAccepterReportListDTO toDTO(CapTaskAccepterReportListVO vo) {
        CapTaskAccepterReportListDTO  dto = null;
        if (vo != null) {
            dto = new CapTaskAccepterReportListDTO();
//            dto.setId(po.getId());
            dto.setCstId(vo.getCstId());//客户ID
            dto.setCstNm(vo.getCstNm());//CST_NM
            dto.setPaySchId(vo.getPaySchId());//费用ID
            dto.setPaySchNo(vo.getPaySchNo());//PAY_SCH_NO
            dto.setPayPd(vo.getPayPd());//期次
            dto.setOverdueDate(vo.getOverdueDate());//逾期日期(应收日期)
            dto.setOverdueDay(vo.getOverdueDay());//逾期天数
            dto.setOverdueAmount(vo.getOverdueAmount());//逾期租金总金额
            dto.setOverdueRate(vo.getOverdueRate());//逾期率
            dto.setPenaltyAmount(vo.getPenaltyAmount());//罚息金额
            dto.setPayAmount(vo.getPayAmount());//已支付金额
            dto.setActualAmount(vo.getActualAmount());//当日实收罚息金额
            dto.setTotalAmount(vo.getTotalAmount());//实收累计金额(已核销罚息总金额)
            dto.setReduAmount(vo.getReduAmount());//减免金额
            dto.setDataStatusCd(vo.getDataStatusCd());//数据状态-数据字典：0-最新 1-过期
            dto.setOverdueStatusCd(vo.getOverdueStatusCd());//逾期支付状态-数据字典：0-未支付 1-部分支付 2-全部支付
            dto.setRemark(vo.getRemark());//罚息描述
            dto.setBuOrgCd(vo.getBuOrgCd());//所属事业部
            dto.setCreateDate(vo.getCreateDate());//罚息日期
            dto.setCreateTime(vo.getCreateTime());//创建时间
            dto.setOverduePrincipal(vo.getOverduePrincipal());//逾期本金总金额
            dto.setOverdueInterest(vo.getOverdueInterest());//逾期利息总金额
            dto.setPaidUpPrincipal(vo.getPaidUpPrincipal());//已核销本金总金额
            dto.setPaidUpInterest(vo.getPaidUpInterest());//已核销利息总金额
            dto.setPaidUpOther(vo.getPaidUpOther());//已核销其他费用总金额
            dto.setRemainingPrincipal(vo.getRemainingPrincipal());//剩余本金总金额
            dto.setRemainingInterest(vo.getRemainingInterest());//剩余利息总金额
            dto.setRemainingOther(vo.getRemainingOther());//剩余其他费用总金额
            dto.setTotalPayPd(vo.getTotalPayPd());//累计逾期期次

            dto.setCstMgrId(vo.getCstMgrId());
            dto.setCstMgrNm(vo.getCstMgrNm());
            dto.setTaskUsrId(vo.getTaskUsrId());
            dto.setTaskUsrNm(vo.getTaskUsrNm());
            dto.setTaskAcceptTm(vo.getTaskAcceptTm());
//            dto.setCrtTm(po.getCrtTm());//创建时间
//            dto.setCrtUsrId(po.getCrtUsrId());//创建人
//            dto.setMdfTm(po.getMdfTm());//修改时间
//            dto.setMdfUsrId(po.getMdfUsrId());//修改人
        }
        return dto;
    }

    /**
     * DTO 转  VO
     * @param dto CapTaskAccepterReportListDTO
     * @return CapTaskAccepterReportListVO
     */
    public static CapTaskAccepterReportListVO toVO(CapTaskAccepterReportListDTO dto) {
        CapTaskAccepterReportListVO vo = null;
        if (dto != null) {
            vo = new CapTaskAccepterReportListVO();
//            po.setId(dto.getId());
            vo.setCstId(dto.getCstId());//客户ID
            vo.setCstNm(dto.getCstNm());//CST_NM
            vo.setPaySchId(dto.getPaySchId());//费用ID
            vo.setPaySchNo(dto.getPaySchNo());//PAY_SCH_NO
            vo.setPayPd(dto.getPayPd());//期次
            vo.setOverdueDate(dto.getOverdueDate());//逾期日期(应收日期)
            vo.setOverdueDay(dto.getOverdueDay());//逾期天数
            vo.setOverdueAmount(dto.getOverdueAmount());//逾期租金总金额
            vo.setOverdueRate(dto.getOverdueRate());//逾期率
            vo.setPenaltyAmount(dto.getPenaltyAmount());//罚息金额
            vo.setPayAmount(dto.getPayAmount());//已支付金额
            vo.setActualAmount(dto.getActualAmount());//当日实收罚息金额
            vo.setTotalAmount(dto.getTotalAmount());//实收累计金额(已核销罚息总金额)
            vo.setReduAmount(dto.getReduAmount());//减免金额
            vo.setDataStatusCd(dto.getDataStatusCd());//数据状态-数据字典：0-最新 1-过期
            vo.setOverdueStatusCd(dto.getOverdueStatusCd());//逾期支付状态-数据字典：0-未支付 1-部分支付 2-全部支付
            vo.setRemark(dto.getRemark());//罚息描述
            vo.setBuOrgCd(dto.getBuOrgCd());//所属事业部
            vo.setCreateDate(dto.getCreateDate());//罚息日期
            vo.setCreateTime(dto.getCreateTime());//创建时间
            vo.setOverduePrincipal(dto.getOverduePrincipal());//逾期本金总金额
            vo.setOverdueInterest(dto.getOverdueInterest());//逾期利息总金额
            vo.setPaidUpPrincipal(dto.getPaidUpPrincipal());//已核销本金总金额
            vo.setPaidUpInterest(dto.getPaidUpInterest());//已核销利息总金额
            vo.setPaidUpOther(dto.getPaidUpOther());//已核销其他费用总金额
            vo.setRemainingPrincipal(dto.getRemainingPrincipal());//剩余本金总金额
            vo.setRemainingInterest(dto.getRemainingInterest());//剩余利息总金额
            vo.setRemainingOther(dto.getRemainingOther());//剩余其他费用总金额
            vo.setTotalPayPd(dto.getTotalPayPd());//累计逾期期次

            vo.setCstMgrId(dto.getCstMgrId());
            vo.setCstMgrNm(dto.getCstMgrNm());
            vo.setTaskUsrId(dto.getTaskUsrId());
            vo.setTaskUsrNm(dto.getTaskUsrNm());
            vo.setTaskAcceptTm(dto.getTaskAcceptTm());
//            po.setCrtTm(dto.getCrtTm());//创建时间
//            po.setCrtUsrId(dto.getCrtUsrId());//创建人
//            po.setMdfTm(dto.getMdfTm());//修改时间
//            po.setMdfUsrId(dto.getMdfUsrId());//修改人
        }
        return vo;
    }

    /**
     * VO集合 转 DTO集合
     * @param list List<CapTaskAccepterReportListVO>
     * @return List<CapTaskAccepterReportListDTO>
     */
    public static List<CapTaskAccepterReportListDTO> toDTOList(List<CapTaskAccepterReportListVO> list) {
        List<CapTaskAccepterReportListDTO>  dtoList = new ArrayList<>();
        if(CollectionUtils.isNotEmpty(list)){
            for (CapTaskAccepterReportListVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }

    /**
     * DTO集合 转 VO集合
     * @param list List<CapTaskAccepterReportListDTO>
     * @return List<CapTaskAccepterReportListVO>
     */
    public static List<CapTaskAccepterReportListVO> toVOList(List<CapTaskAccepterReportListDTO> list) {
        List<CapTaskAccepterReportListVO>  voList = new ArrayList<>();
        if(CollectionUtils.isNotEmpty(list)){
            for (CapTaskAccepterReportListDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

}